package com.xhh.nphm.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xhh.nphm.common.core.domain.entity.SysUser;
import com.xhh.nphm.system.domain.IsGoBackConfig;

import java.util.List;

public interface IsGoBackConfService extends IService<IsGoBackConfig> {

    /**
     * 通过部门id删除
     * @param DeptId
     * @return
     */
    public boolean deleteDeptConfByDeptId(Long DeptId);

    /**
     * 新增退回配置
     * @param deptId 部门编号
     * @param noGoBackDeptIds 不允许退回部门
     * @return
     */
    public boolean insertDeptConf(Long deptId,List<String> noGoBackDeptIds);

    /**
     * 通过部门及当前用户查询当前部门的退回配置信息
     * @param deptId 部门编号
     * @param userId 用户编号
     * @return
     */
    IsGoBackConfig selectConfByDept(Long deptId);

    /**
     * 保存或者更新部门退回配置信息
     * @param isGoBackConfig 退回配置实体
     * @param user 操作人员
     * @return
     */
    boolean saveOrUpdateConf(IsGoBackConfig isGoBackConfig, SysUser user);

    /**
     * 查询不允许退回部门名称
     * @param deptId 配置部门
     * @return
     */
    String selectNoGoBackDeptNames(Long deptId);

    /**
     * 检查当前部门是否允许退回
     * @param sdeptId 派单部门
     * @param sbdeptId 承办部门
     */
    int checkPeerDeptIsGoBack(String sdeptId, String sbdeptId);

    /**
     * 获取当前部门是否允许退回
     * @param deptId 部门编号
     * @return
     */
    int checkPeerDeptIsGoBack(Long deptId);
}
